home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / bits / ipc.h < prev    next >
C/C++ Source or Header  |  2009-10-07  |  2KB  |  57 lines

  1. /* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
  2.    This file is part of the GNU C Library.
  3.  
  4.    The GNU C Library is free software; you can redistribute it and/or
  5.    modify it under the terms of the GNU Lesser General Public
  6.    License as published by the Free Software Foundation; either
  7.    version 2.1 of the License, or (at your option) any later version.
  8.  
  9.    The GNU C Library is distributed in the hope that it will be useful,
  10.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.    Lesser General Public License for more details.
  13.  
  14.    You should have received a copy of the GNU Lesser General Public
  15.    License along with the GNU C Library; if not, write to the Free
  16.    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  17.    02111-1307 USA.  */
  18.  
  19. #ifndef _SYS_IPC_H
  20. # error "Never use <bits/ipc.h> directly; include <sys/ipc.h> instead."
  21. #endif
  22.  
  23. #include <bits/types.h>
  24.  
  25. /* Mode bits for `msgget', `semget', and `shmget'.  */
  26. #define IPC_CREAT    01000        /* Create key if key does not exist. */
  27. #define IPC_EXCL    02000        /* Fail if key exists.  */
  28. #define IPC_NOWAIT    04000        /* Return error on wait.  */
  29.  
  30. /* Control commands for `msgctl', `semctl', and `shmctl'.  */
  31. #define IPC_RMID    0        /* Remove identifier.  */
  32. #define IPC_SET        1        /* Set `ipc_perm' options.  */
  33. #define IPC_STAT    2        /* Get `ipc_perm' options.  */
  34. #ifdef __USE_GNU
  35. # define IPC_INFO    3        /* See ipcs.  */
  36. #endif
  37.  
  38. /* Special key values.  */
  39. #define IPC_PRIVATE    ((__key_t) 0)    /* Private key.  */
  40.  
  41.  
  42. /* Data structure used to pass permission information to IPC operations.  */
  43. struct ipc_perm
  44.   {
  45.     __key_t __key;            /* Key.  */
  46.     __uid_t uid;            /* Owner's user ID.  */
  47.     __gid_t gid;            /* Owner's group ID.  */
  48.     __uid_t cuid;            /* Creator's user ID.  */
  49.     __gid_t cgid;            /* Creator's group ID.  */
  50.     unsigned short int mode;        /* Read/write permission.  */
  51.     unsigned short int __pad1;
  52.     unsigned short int __seq;        /* Sequence number.  */
  53.     unsigned short int __pad2;
  54.     unsigned long int __unused1;
  55.     unsigned long int __unused2;
  56.   };
  57.